claspを使ったGoogle Apps Scriptのソース管理を試してみた
こんにちは、大前です。
今回は Google Apps Script の管理を CLI で行う事が出来る clasp を触ってみましたので、ブログを書いていきます。
claspとは
Google が提供する、Google Apps Script(GAS)をローカルで管理出来る様になる CLI ツールです。
ソースやプロジェクト管理、ローカルからのスクリプト実行が可能となります。
やってみた
では、実際に clasp をインストールして使用してみたいと思います。
Google Apps Script プロジェクトの作成
前準備として、今回使用する Google Apps Script のプロジェクトを作成しておきます。
管理画面左上の「+新しいプロジェクト」を選択。
図の様に初期状態のプロジェクトが表示されますので、とりあえずこのまま保存します。
プロジェクト名は「clasp-test-script」として保存しました。
clasp インストール
インストールには npm を使用しますので、インストールされていない方は先にインストールをしておきましょう。
clasp のインストールは、下記コマンドのみで完了します。簡単ですね。
$ npm install -g @google/clasp
インストール後、バージョンが確認出来ればインストール完了です。
$ clasp --version
Google Apps Script API の有効化
clasp を使用するためには、Google Apps Script API を有効化する必要があります。
Google Apps Script の管理画面より、左下の「設定」を選択。
「Google Apps Script API」という項目がありますので、「オフ」になっている場合は「オン」に変更します。
プロジェクトの clone
clasp でプロジェクトのソースをローカルに clone していきます。
GAS のソースをローカルに持ってくるためには、プロジェクトの scriptId が必要です。
$ clasp clone --help Usage: clasp clone [options] [scriptId] [versionNumber]
scriptId は、管理画面でプロジェクトを開いた際の URL の末尾に記載されていますので、こちらをコピーして使います。
取得した scriptId を使用して clone を実行します。
$ clasp clone xxxxxxxxxxxxxxxxxxxxxxxxxxxxx Warning: files in subfolder are not accounted for unless you set a '.claspignore' file. Cloned 2 files. └─ appsscript.json └─ コード.js Not ignored files: └─ appsscript.json └─ コード.js Ignored files: └─ .clasp.json $
下記ファイルがクローンされました。
「.clasp.json」はクレデンシャル情報(scriptId)が記載されているファイルになります。
$ ls -a . .. .clasp.json appsscript.json コード.js
ローカルの変更を反映
スクリプトのクローンができたので、最後にローカルで加えた変更を GAS に反映させてみます。
反映は「clasp push」で行います。今回は myFunction() に Logger の記述を追加してみました。
$ vi コード.js # function myFunction() { # Logger.log('test') # } $ clasp push └─ appsscript.json └─ コード.js Pushed 2 files.
GAS のプロジェクトを開いてみると、ローカルの変更が反映されている事が確認できます!
おわりに
clasp を使って Google Apps Script プロジェクトの取得や、ローカル変更の反映をやってみました。
ローカルの変更を CLI で反映出来る様になるだけで、出来る事の幅が広くなると思いますので、是非ご活用ください。
次は、github と連携した CD を試したいと思います。
以上、AWS 事業本部の大前でした。